Inventory tracking and management

ABSTRACT

A method of inventory tracking and management is described. The method may include receiving a location request for an item and determining, using three or more base stations, the location of the item. The method may also include generating, by a processing device, a map of the item&#39;s location and item information and sending the map to a user, and sending the location request to the item, where the location request causes the item or the item&#39;s container to indicate its presence.

CROSS REFERENCE TO RELATED APPLICATION

This application claims priority from U.S. provisional patentapplication 62/041,522 filed on Aug. 25, 2014.

BACKGROUND

The need for tracking technology in household, commercial and industrialitems continues to grow as the amount of items that we need to keeptrack of expands. Several problems exist that make the tracking ofeveryday items (e.g. people, drill bits, clothing items, pets, campinggear, sun glasses, shoes) prohibitive. Current tracking technologies canbe expensive to implement in large quantities of household items.Additionally, many tracking technologies that are in use today may beless effective at tracking household items that reside inside buildingsand other containers.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure will be understood more fully from the detaileddescription given below and from the accompanying drawings of variousimplementations of the disclosure.

FIG. 1A illustrates a first example inventory tracking and managementsystem in accordance with various implementations.

FIG. 1B illustrates a second example inventory tracking and managementsystem in accordance with various implementations.

FIG. 2 is a flow chart of method of generating a multi-dimensional mapof an area.

FIG. 3 is a flow diagram of a method of adding a new item to thedatabase.

FIG. 4 is a flow diagram of a method of locating an item in accordancewith some embodiments.

FIG. 5 is a flow diagram of a method of generating a map indicating thelocation of items associated with a task.

FIG. 6 is a flow diagram of a method of determining usage patterns ofitems.

FIG. 7 is a flow diagram of a method of a smart container determiningits contents.

FIG. 8 is a block diagram of an example computer system that may performone or more of the operations described herein.

DETAILED DESCRIPTION

The following description sets forth numerous specific details such asexamples of specific systems, components, methods, and so forth, inorder to provide a good understanding of several embodiments of thepresent invention. It will be apparent to one skilled in the art,however, that at least some embodiments of the present invention may bepracticed without these specific details. In other instances, well-knowncomponents or methods are not described in detail or are presented insimple block diagram format in order to avoid unnecessarily obscuringthe present invention. Thus, the specific details set forth are merelyexemplary. Particular implementations may vary from these exemplarydetails and still be contemplated to be within the scope of the presentinvention.

People often struggle to keep track of items both inside and outsidetheir homes, workplaces, facilities, and commercial and industrialbuildings. A significant contributor to this struggle is the inabilityto monitor the location of these items. A person may establish systemsof sorting and organizing items in order for the person to locate theitems quickly. In certain situations, however, items can be misplaced orlost, thereby rendering the systems of sorting and organizing the itemsineffective. For example, if an item is placed in the wrong location orthe item is forgotten at a remote location, then the location of theitem may not be readily apparent.

A system and method are described that can track and manage the locationof items that are introduced into an inventory of items. In oneembodiment, a transponder affixed to the new item transmits anidentification signal that enables the tracking and monitoring of thenew item by a location module. The location module maintains aninventory of items and corresponding properties of the items. When thenew item affixed with a transponder is introduced to the inventory ofitems, the identification signal is received by the location module andthe location module determines that the identification signal isunregistered in the inventory of items. The location module extractsfrom the identification signal properties associated with the new item.The location module generates an updated list to include theunregistered identification signal and the extracted propertiesassociated with the new item.

In one embodiment, the location module receives a location request foran item from a user. Using the identification signal of the item, thelocation module determines the item's location. The location module maypresent to the user, through a graphical user interface, a map of anarea with an indicator showing the location of the item. The locationmodule may send a command to the transponder affixed to the item,causing the transponder to announce the item's presence through the useof flashing lights, emitting sound, vibrating or other indicators.

The location module also tracks and monitors the identification signalsassociated with items in order to determine usage patterns for theitems. By tracking the movement of the identification signals associatedwith the items the location module determines which items are used morefrequently. In one embodiment, the location module may presentrecommendations and advertisements for items based on which items areused more frequently. For example, if the location module determinesthat a user frequently drinks coffee, the location module may presentthe user with recommendations and advertisements tailored towards coffeedrinkers. The location module may also provide the user with anotification if a tracked item needs to be restocked or replaced.Alternatively, the location module can generate an order for an item inresponse to determining that an item needs to be replaced. Furtherdetails describing the operation of the inventory tracking andmanagement system and methods are provided below.

FIG. 1A illustrates a first example inventory tracking and managementsystem in accordance with various implementations. A user 100 mayrequest the location 104 of an item 108 in an area 106. The items 108 ofwhich a location may be requested include smart labels. The smart labelmay be a transponder 134 that transmits an identification signalassociated with the item 108. Smart labels may include locatingtechnology (e.g. geographical information systems (GIS), globalpositioning system (GPS), Bluetooth, radio frequency identification(RFID), near field communication (NFC), local area wireless (WLAN,Wi-Fi), local area network (LAN), Global System for MobileCommunications (GSM), and the like). In some embodiments, smart labelsare transponders 134 that may be affixed to the item 108 that the user100 may want to locate. In other embodiments, smart labels aretransponders 134 built into the item 108 during production of the item.

In one embodiment, smart labels include a user-replaceable battery. Inother embodiments, smart labels do not include a user-replaceablebattery and are instead powered using inductance technologies. Othermethods of powering may be utilized to provide power to smart labelssuch as motion, photovoltaic, micro fuel cell. Energy storage caninclude compressed air, butane, methane, and other more traditionalbattery cell technologies. In other embodiments, smart labels mayinclude other systems such as a lighting system (e.g. LEDs), vibrationsystem, motion detection system, sound system, and a graphics displaysystem (e.g. video display). Smart labels may also include atouchscreen, buttons, and other user input systems. In one embodiment,smart labels utilize mass spectrometry to characterize physical,material, fabric color, and other attributes of the item to which theyare affixed. Smart labels may also utilize additional sensors such asgyroscope, magnetometer, accelerometer, altitude, temperature, humidity,atmospheric pressure.

The smart labels may be customized with information. A user 100 may wantto associate a category with an item. In one embodiment, more than onecategory may be associated with an item. For example, in the case of abackpack, a user 100 might want to customize the backpack's smart labelto include the category “school.” In another example, a user 100 mightwant to customize the same backpack's smart label to include thecategories “school” and “hiking.” Other information may also be storedon a smart label. For instance, a user 100 might want to define a “homebase” for an item, and customize its smart label to reflect that choice.A home base is a location where the item should reside. Setting a homebase allows a user 100 to receive notifications when the item is not atits home base. In one embodiment, multiple home bases may be customizedand timing information as to when an item should be at various locationsmay also be set. In one embodiment, a user 100 may continuallyre-customize a smart label as his or her needs change. Alternatively, asmart label may only be customized only once. It should be noted that inone embodiment, a home base may also be used as a charging station.

In one embodiment, base stations 110, 112, 114 are spread throughoutarea 106 so that every smart label contained in area 106 is incommunication range of three or more base stations 110, 112, 114. Basestations 110, 112, 114 are devices capable of transmitting and receivinglocating technology signals. The base stations 110, 112, 114 are alsocapable of determining air temperature and quality. In one embodiment,base stations 110, 112, 114 are communicatively coupled to a masterstation 120. The master station 120 is a device capable of receiving andtransmitting signals to and from base stations 110, 112, 114. The masterstation 120 may be communicatively coupled to a server 126 via a network122. In one embodiment, the master station 120 may maintain a localinventory of system components (e.g., smart labels, base stations, smartcontainers, etc.) In one embodiment, a user 100 sends a location requestto location module 124 on server 126 of server computing system 128 viauser device 102. In another embodiment, the user device 102 utilizesvoice recognition where the user 100 may vocally ask “where is my item?”Alternatively, the user 100 may request the location of an item via auser interface of an application on the user device 102. The user device102 may be a personal computer, a tablet computer, a mobile phone suchas a smart phone, a personal digital assistant (PDA), a portable mediaplayer, a netbook, smart watch or the like.

The location module 124 may comprise a database of items along withproperties associated with the items (i.e., designated location, whatthe item is, what the item is used for, etc.) Computing systemsdescribed herein (e.g. 128) are each capable of communicating with oneanother via network 122. In another embodiment, user device 102 maycommunicate directly with base stations 110, 112, 114 via network 122and the base station 120 (e.g. FIG. 1B). In this embodiment, locationmodule 124 may reside on user device 102. Network 122 may include, forexample, private network such as a local area network (LAN), a wide areanetwork (WAN), a global area network (GAN) such as the Internet, or acombination of such networks, and may include a wired or wirelessnetwork. Various networks described herein may be the same network ordifferent networks altogether.

In one embodiment, once the location request has been received, locationmodule 124 determines where an item is located in area 106 by sending alocation request via network 122 to the master station 120. The masterstation may then relay the location request to base station 112. Basestation 112 may then relay the location request to base stations 110,114. The base stations 110, 112, 114 may locate item 108 by sendinglocation request to item 108, receive response signals, and triangulatethe item 108 based on the response signals. In some embodiments, theuser 100 may want to locate item 116 inside of smart container 118. Uponreceiving location request from base stations 110, 112, 114, smartcontainer 118 may query all contained smart labels looking for item 116.When item 116 has been found, smart container 118 may relay locationinformation back to base stations, 110, 112, 114. Smart containers 118may also retain an inventory of items located within the containerlimiting the need to communicate directly with the item and henceextending battery life of the item. In one embodiment, base stations110, 112, 114 send location and other information to the master station120. The master station 120 sends location and other information to thelocation module 124 through network 122. The location module 124 mayprocess the information and send the information to user device 102.

In another embodiment, the user 100 sends a mapping request to mappingmodule 130 on server 126 of server computing system 128 via user device102. Base stations 110, 112, 114, may be devices capable of mapping area106. For example, base stations 110, 112, 114 may be placed in one roomof a house, or commercial or industrial building, where they aredirected to map the room or surrounding area. Mapping-enabled basestations 110, 112, 114, may employ sound systems (e.g. sonar, radar),optical systems (e.g. lasers, cameras), and the like to measure aportion of an area. The mapping module 130 receives measurement datafrom mapping-enabled base stations 110, 112, 114 via the master station120. Using the measurement data, the mapping module 130 generates amulti-dimensional map of the room and floor plan. In some embodiments,an aerial or ground-moving drone may be used to create multi-dimensionalmaps and floor plans of areas. In other embodiments, multi-dimensionalmaps and floor plans created independently may be uploaded to andutilized by the mapping module 130.

In one embodiment, the multi-dimensional map may be used to accuratelydescribe the location of items. For example, upon receiving locationinformation for item 108 from base stations 110, 112, 114, the locationmodule 124 may determine, based on the triangulated location and amulti-dimensional map of the area, that item 108 is on the bookshelf inthe south-east corner of area 106. In other embodiments, mapping-enabledbase stations 110, 112, 114 are capable of tracking an item's locationwhen moved around the room and notifying user 100 of movement. The basestations 110, 112, 114 may periodically inventory all items (e.g. 116,108) in area 106. For example, base stations 110, 112, 114 locatedinside a refrigerator may periodically inventory refrigerated items andnotify user 100 when an item needs to be restocked or replaced. Inanother embodiment, the user 100 may authorize the location module 124to place an order for an item in response to the item needing to berestocked or replaced. The location module 124 may generate shoppinglists based on inventories and user-configurable quantity thresholds.The location module 124 may generate a list of items associated with atask the user 100 is about to perform or an activity the user is aboutto engage in such as camping, boating, vacation, going to school, goingto work and the like. The location module 124 may also track normalusage patterns of item 108 and notify user 100 when abnormal patternsoccur. In another embodiment, a user 100 may determine allowableboundaries for an item 108. When item 108 is taken outside of itsallowable boundary, user 100 may be notified. In another embodiment,location module 124 may monitor use patterns for item 108 and providerecommendations based on the use patterns. For example, location module124 may suggest a particular order, based on past usage, in which topack a smart container 118 or to use various items to maximizeefficiency. As another example, inventory tracking and managementsystem, may be used to locate and organize products and theircorresponding battery charger and/or power supply.

In other embodiments, the location module 124 may assist in simpleorganizing and sorting tasks. For instance, a user 100 may wish to sorthis or her tools such as socket sets, drill bits and the like in aparticular order. The location module 124 may cause LED lights to flashin sequential order on the sockets, indicating to the user 100 theparticular order in which they should be sorted. The location module 124may identify any missing sockets and notify the user 100 of the missingsockets' location. In another embodiment, the location module 124 maycause sock pairs may to flash at the same time, thus facilitating theidentification of matching pairs. In one embodiment, the smart labels onthe sock pairs include electromagnets, thereby enabling the locationmodule 124 to activate the corresponding electromagnets in a pair ofsocks, causing them to automatically sort themselves. In anotherembodiment, a conveyor belt for a clothes dryer may read smart labels onclothing and sort the clothing accordingly.

In one embodiment, user 100 may configure the location module 124 togroup items into useful categories. For instance, a user 100 mightconfigure the location module 124 to pair a phone with a particularphone charger. In one embodiment, if the user's 100 phone is packedbefore a trip and the corresponding charger remains next to the desk,the user 100 may receive a notification reminding user 100 to pack thecharger and notifying user 100 of the charger's location. In anotherembodiment, the location module 124 may be configured to notify user 100if a particular item is ever in a particular place. For example, a user100 may wish to be notified if his or her car keys are ever accidentallythrown away. The location module 124 may periodically query the keys(with smart label) to be sure they aren't in the trash (smart container118).

In other embodiments, item 108 is assigned a designated location wherethe item should reside. The location module 124 may notify user 100 ifan item is not at its designated location, and inform the user 100 ofthe item's current location. In one embodiment, a base station 110 maybe used to determine information about an item 108. For example, item108 may be held next to base station 110, causing location module toprovide the user 100 with information about the item such as the item'shome base, usage details, and sorting details (e.g. location of theitem's pair, the category to which the item belongs).

In other embodiments, the system will have the ability for users tocustomize system operation through software programming, macrolanguages, graphical user interfaces and the like to extend andcustomize system functionality to support new emerging applications anduse cases for the system.

In other embodiments, base stations 110, 112, 114 need not be used tolocate an item 108. Instead, the location module 124 may rely onlocating technologies such as GPS and GSM to locate item 108. In someembodiments, user device 102 may serve as an additional base station ormay directly locate item 108 by utilizing locating technologies likeRFID.

FIG. 2 is a flow chart of method 200 of generating a multi-dimensionalmap of an area. For the sake of clarity, the following method ofgenerating a multi-dimensional map of an area will be described usingbase stations 110, 112, 114 to acquire measurement data of an area(e.g., 106). However, in some embodiments other devices, such as aerialor ground-moving drones, may be used to acquire the measurement data ofthe area 106.

At phase 210, the mapping module 130 receives a request to create amulti-dimensional map of the area 106 from the user 100. In oneembodiment, the multi-dimensional map of the area 106 may be atwo-dimensional view of area 106, where the two-dimensional view iscomprised of two spatial dimensions. In other embodiments, themulti-dimensional map of the area 106 may be a three-dimensional view ofarea 106, where the three-dimensional view is comprised of three spatialdimensions. In some embodiments, the multi-dimensional map of the area106 may be a four-dimensional view of area 106, where thefour-dimensional view is comprised of three spatial dimensions plus onetime dimension to illustrate a spatio-temporal environment. At phase220, the mapping module 130 transmits a signal via the master station120 to base stations 110, 112, 114, instructing the base stations 110,112, 114 to measure portions of area 106, where the measured portions ofarea 106 may be combined into a complete multi-dimensionalrepresentation of area 106. At phase 230, the mapping module 130receives measurement data transmitted from base stations 110, 112, 114via the master station 120. At phase 240, the mapping module 130generates a multi-dimensional map of area 106 based on the receivedmeasurement data transmitted from base stations 110, 112, 114.

FIG. 3 is a flow diagram of a method 300 of adding a new item to thedatabase of the location module 124. At phase 310, base stations 110,112, 114 receive an identification signal 132 transmitted by a smartlabel affixed to the new item. The identification signal 132 transmittedby the smart label is relayed to the master station 120. In oneembodiment, the new item may be purchased with a smart label affixed tothe new item. In another embodiment, the smart label may be affixed tothe new item by the user 100 after purchase. At phase 320, the masterstation 120 determines that the identification signal 132 transmitted bythe smart label is not registered in the database of location module124. At phase 330, the master station 120 via base stations 110, 112,114 extracts the properties of the new item using the identificationsignal 132 transmitted by the smart label. In one embodiment, the smartlabel affixed to the new item may be previously programmed withproperties associated with the new item. Alternatively, the smart labelaffixed to the new item may be programmed by the user 100 withproperties associated with the new item. At phase 340, the masterstation 120 transmits the extracted properties associated with the newitem to the location module 124. At phase 450, the location module 124generates an updated inventory of items in the database to include thenew item.

FIG. 4 is a flow diagram of a method for locating an item in accordancewith some embodiments. The method 400 is performed by processing logicthat comprises hardware (e.g., circuitry, dedicated logic, programmablelogic, microcode, etc.), software (e.g., instructions run on aprocessing device to perform hardware simulation), or a combinationthereof. In one embodiment, locating module 124 may perform method 400.In another embodiment, other components of the devices illustrated inFIG. 1 perform some or all of the operations. Method 400 may beperformed in any order so as to fit the needs of the specific locationto be accomplished.

At phase 410, location module 124 receives a location request from auser 100. In one embodiment, processing logic then determines thelocation (phase 420) of the requested item 108 using locatingtechnologies described above. In one embodiment, base stations 110, 112,114 triangulate the item's smart label. It should be noted thattriangulation for location finding be performed using multiple basestations to determine location in multiple dimensions. In someembodiments, the user 100 is not located within range of base stations110, 112, 114. For example, a user 100 may be at work and realize thathe or she does not have his or her wallet. Processing logic maydetermine the location of the wallet at home, using base stations 110,112, 114 to triangulate the wallet's signal, while the user 100 remainsat work. At phase 430, processing logic sends a map of the item'ssurrounding location and additional item information (e.g. pattern data,location of matching pairs, category data) to the user 100. In oneembodiment, the location module may also send other informationpertaining to the location of the requested item 108. Such informationmay include a container in which the requested item 108 currentlyresides, a room in which the requested item 108 currently resides, alist of other items also residing in the container and/or room in whichthe requested item 108 resides, a category in which the item 108belongs, and a list of other items in the same or similar categories andtheir locations. At phase 440, processing logic may send the locationrequest to the item 108 causing the item to indicate itself via itssmart label systems.

In one embodiment, images such as photographs may be used to augment thelocating of items. For example, during a system installation, picturescan be taken of a room or areas of a building in which items may belocated (e.g., 106) and then the location of the various items whoseimage is acquired can be plotted. Alternatively, one or more of basestations 110, 112, 114 may include cameras (e.g., visible, infrared,etc.) that can take still images or video images of area 106 andtransmit the images to server 126 to indicate the location of the itemsto be found.

FIG. 5 is a flow diagram of a method 500 of generating a map indicatingthe location of items associated with a task. At phase 510, the locationmodule 124 receives a request from user 100 to locate all itemsassociated with a task. In one embodiment, the request from the user 100may be the user 100 manually selecting the task being performed from auser interface. In another embodiment, the location module 124 maydetermine the task being performed in response to the user's 100 recentinternet searches, booking of hotels, booking of flights or the like. Atphase 520, the location module 124 generates a list of items associatedwith the task based on the properties of the items. At phase 530, thelocation module 124 determines the location of the items from the listof items associated with the task. The location module 124 determinesthe location of the items using the method described above in FIG. 4. Atphase 540, the location module 124 generates a map indicating thelocation of the items associated with the task. In one embodiment, themap may be a multi-dimensional representation of area 106. At phase 550,the location module 124 presents to the user 100 on the user device 102the generated map indicating the location of the items associated withthe task.

FIG. 6 is a flow diagram of a method 600 of determining usage patternsof items. At phase 610, the location module 124 determines the usagepatterns of items by tracking the smart labels affixed to the items andperforming a periodical inventory of the items. Items are tracked usingthe method described above in FIG. 4. At phase 620, the location module124 determines that an item needs to be restocked or replaced based oninformation transmitted by the smart label associated with the item. Inone embodiment, the smart label may have an integrated sensor capable ofdetecting the contents of the item. For example, a carton of milk may beequipped with a smart label having a capacitive sensor that detects theamount of milk remaining in the carton. In some embodiments, thelocation module 124 detects that an item has been thrown away in a trashcan and in response determine that the item needs to be restocked orreplaced. At phase 630, the location module 124 queries the database todetermine if the user 100 has authorized the location module 124 topurchase a replacement for the item. At phase 640, if the user 100 hasnot authorized the location module 124 to purchase a replacement for theitem, the location module 124 generates and sends a notification to theuser device 102 alerting the user 100 that the item needs to berestocked or replaced. At phase 650, if the user 100 has authorized thelocation module 124 to purchase a replacement for the item, the locationmodule 124 generates an order for the item that needs to be restocked orreplaced. In one embodiment, the location module 124 may order the itemthat needs to be restocked or replaced from a preferred retailer that isspecified by the user 100. In another embodiment, the location module124 may query multiple retailers and order the item from a retailer inresponse to criteria (e.g., price, delivery date, etc.) specified by theuser 100.

FIG. 7 is a flow diagram of a method 700 of a smart container 118determining its contents. A smart container 118 may be affixed withthree or more sensors similar to base stations 110, 112, 114 andidentifies items inside the container using the method described abovein FIG. 4. At phase 710, the sensors affixed to the smart container 118receive the identification signals 132 of smart labels affixed to theitems contained in the smart container 118. At phase 720, the sensorstransmit the identification signals 132 to the location module 124 viathe master station 120. At phase 730, the location module 124 queriesthe database for an inventory of items that are to be located in smartcontainer 118. In one embodiment, the inventory of items that are to belocated in the smart container 118 can be determined by the user 100. Inanother embodiment, the location module 124 can determine the inventoryof items that are to be located in the smart container 118 by pairingitems associated with the same categories in the same smart container118 (e.g., camping items, school supplies, etc.) At phase 740, thelocation module 124 determines if the items located in the smartcontainer 118 corresponds to the inventory of items that are to belocated in the smart container 118. At phase 750, if the location module124 determines the items located in the smart container 118 do notcorrespond to the inventory of items that are to be located in the smartcontainer 118, the location module 124 generates a notification to sendto the user 100. In one embodiment, the location module 124 generatesand provides a map as a notification to the user 100 indicating thelocations of items from the inventory of items that are missing from thesmart container 118. In another embodiment, the location modulegenerates and provides a notification to the user 100 indicating that anitem located in smart container 118 is not in the inventory of items tobe contained in the smart container 118.

Smart containers 118 may be any container, surface or space capable ofcontaining an item. Smart containers 118 may be items such as washingmachines, dishwashing machines, refrigerators, cabinets, closets,shelves, shelving paper, drawers, desks, tables, furniture, articles ofclothing and automobiles. Smart containers 118 may be in public areassuch as benches, parking spots, and hotel rooms. Smart containers 118may be any size and may include perimeter barriers, such as cityboundary lines. A smart container 118 can also be defined as the insideof an area such as a structure (e.g., a home, factory or commercialbuilding), outside of a structure, or within portions of a structure(e.g., specific rooms in a home). In some embodiments, smart containers118 include a smart label like those described above.

In one embodiment, the smart label may have an activation device (e.g.,a switch) with a transmitter to send a signal to other nearby smartlabels or containers requesting that they announce their location. Theannouncement may take over or more of various forms such as a flashinglight using an LED or sound (e.g., buzz) using an audio device. Theactivation may also put the inventory tracking and management systeminto a mode that uses other nearby smart labels to triangulate thelocation of some or all nearby items. For example, a smart label with akey fob may send a signal to a lost smart phone.

In various embodiments, smart containers 118 are capable of beinglocated and announcing their location. In other embodiments, a smartcontainer 118 can determine its contents, and locate a particular itemcontained. A smart container 118 may also cause the particular item toannounce its location, by activating the lighting system, vibrationsystem, sound system, and/or graphics display system on the item's smartlabel. The smart container 118 can display or announce (via the graphicsdisplay system or sound system) the type of contents (e.g. thecategories of items) contained. The smart container 118 identifies itemscontained by querying the items' smart labels. For example, a user 100may push a button on the smart container 118 and the container may show“camping gear” on its video display. The smart container 118 may thenlist the camping items contained. In another embodiment, the smartcontainer 118 displays or announces items contained when the user 100 iswithin a specified proximity of the smart container 118.

In another embodiment, the smart container 118 knows what items (e.g.according to the items' categories) it is supposed to contain and canidentify missing items. For example, if a user's 100 car is set up as asmart container 118 and the user 100 loads up camping gear for a trip,the user 100 may push a button after loading up the camping gear and thecar can scan smart labels of camping gear contained, identify missingitems, and notify the user 100. The location module 124 may alsoidentify missing items or suggest locating or purchasing additionalitems in response to camping gear being placed within the car.Alternatively, the user 100 can send a request to locate all campinggear to a server 126. The server 126 may then locate the camping gearand provide the user 100 with a map of their home, including where thecamping gear is located. In some embodiments, the user 100 is providedwith a list of camping gear and the items' location in the house andlocation within smart containers 118. The user 100 may then choose tohave camping gear items announce themselves via their smart labelsystems.

FIG. 8 illustrates an example machine of a computer system 800 withinwhich a set of instructions, for causing the machine to perform any oneor more of the methodologies discussed herein, may be executed. Inalternative implementations, the machine may be connected (e.g.,networked) to other machines in a LAN, an intranet, an extranet, and/orthe Internet. The machine may operate in the capacity of a server or aclient machine in client-server network environment, as a peer machinein a peer-to-peer (or distributed) network environment, or as a serveror a client machine in a cloud computing infrastructure or environment.

The machine may be a personal computer (PC), a tablet PC, a set-top box(STB), a Personal Digital Assistant (PDA), a cellular telephone, a webappliance, smart watch, a server, a network router, a switch or bridge,or any machine capable of executing a set of instructions (sequential orotherwise) that specify actions to be taken by that machine. Further,while a single machine is illustrated, the term “machine” shall also betaken to include any collection of machines that individually or jointlyexecute a set (or multiple sets) of instructions to perform any one ormore of the methodologies discussed herein.

The example computer system 800 includes a processing device 802, a mainmemory 804 (e.g., read-only memory (ROM), flash memory, dynamic randomaccess memory (DRAM) such as synchronous DRAM (SDRAM) or DRAM (RDRAM),etc.), a static memory 806 (e.g., flash memory, static random accessmemory (SRAM), etc.), and a data storage device 818, which communicatewith each other via a bus 830.

Processing device 802 represents one or more general-purpose processorssuch as a microprocessor, a central processing unit, or the like. Moreparticularly, the processor may be complex instruction set computing(CISC) microprocessor, reduced instruction set computing (RISC)microprocessor, very long instruction word (VLIW) microprocessor, orprocessor implementing other instruction sets, or processorsimplementing a combination of instruction sets. Processing device 802may also be one or more special-purpose processors such as anapplication specific integrated circuit (ASIC), a field programmablegate array (FPGA), a digital signal processor (DSP), network processor,or the like. The processing device 802 is configured to executeinstructions 822 for performing the operations and steps discussedherein.

The computer system 800 may further include a network interface device808. The computer system 800 also may include a video display unit 810(e.g., a LED array, a liquid crystal display (LCD) or a cathode ray tube(CRT)), an alphanumeric input device 812 (e.g., a keyboard), a cursorcontrol device 814 (e.g., a mouse), and a signal generation device 816(e.g., a speaker).

The data storage device 818 may include a machine-readable storagemedium 828 (also known as a computer-readable medium) on which is storedone or more sets of instructions or software 822 embodying any one ormore of the methodologies or functions described herein. Theinstructions 822 may also reside, completely or at least partially,within the main memory 804 and/or within the processing device 802during execution thereof by the computer system 800, the main memory 804and the processing device 802 also constituting machine-readable storagemedia.

In one implementation, the instructions 822 include instructions for alocation module and a mapping module (e.g., location module 124 andmapping module 130 of FIG. 1) and/or a software library containingmethods that call modules or sub-modules in a location module. While themachine-readable storage medium 828 is shown in an exampleimplementation to be a single medium, the term “non-transitorycomputer-readable storage medium” or “computer-readable medium” shouldbe taken to include a single medium or multiple media (e.g., acentralized or distributed database and/or associated caches andservers) that store the one or more sets of instructions. The term“computer-readable medium” shall also be taken to include any mediumthat is capable of storing, encoding or carrying a set of instructionsfor execution by the machine and that cause the machine to perform anyone or more of the methodologies of the present disclosure. The term“computer-readable storage medium” shall accordingly be taken toinclude, but not be limited to, solid-state memories, optical media andmagnetic media. Some portions of the preceding detailed descriptionshave been presented in terms of algorithms and symbolic representationsof operations on data bits within a computer memory. These algorithmicdescriptions and representations are the ways used by those skilled inthe data processing arts to most effectively convey the substance oftheir work to others skilled in the art. An algorithm is here, andgenerally, conceived to be a self-consistent sequence of operationsleading to a desired result. The operations are those requiring physicalmanipulations of physical quantities. Usually, though not necessarily,these quantities take the form of electrical or magnetic signals capableof being stored, combined, compared, and otherwise manipulated. It hasproven convenient at times, principally for reasons of common usage, torefer to these signals as bits, values, elements, symbols, characters,terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the above discussion, itis appreciated that throughout the description, discussions utilizingterms such as “identifying” or “determining” or “sorting” or“performing” or “locating” or “receiving” or “sending” or the like,refer to the action and processes of a computer system, or similarelectronic computing device, that manipulates and transforms datarepresented as physical (electronic) quantities within the computersystem's registers and memories into other data similarly represented asphysical quantities within the computer system memories or registers orother such information storage devices.

The present disclosure also relates to an apparatus for performing theoperations herein. This apparatus may be specially constructed for theintended purposes, or it may comprise a general purpose computerselectively activated or reconfigured by a computer program stored inthe computer. Such a computer program may be stored in a computerreadable storage medium, such as, but not limited to, any type of diskincluding floppy disks, optical disks, CD-ROMs, and magnetic-opticaldisks, read-only memories (ROMs), random access memories (RAMs), EPROMs,EEPROMs, magnetic or optical cards, or any type of media suitable forstoring electronic instructions, each coupled to a computer system bus.

The algorithms and displays presented herein are not inherently relatedto any particular computer or other apparatus. Various general purposesystems may be used with programs in accordance with the teachingsherein, or it may prove convenient to construct a more specializedapparatus to perform the method. The structure for a variety of thesesystems will appear as set forth in the description below. In addition,the present disclosure is not described with reference to any particularprogramming language. It will be appreciated that a variety ofprogramming languages may be used to implement the teachings of thedisclosure as described herein.

The present disclosure may be provided as a computer program product, orsoftware, that may include a machine-readable medium having storedthereon instructions, which may be used to program a computer system (orother electronic devices) to perform a process according to the presentdisclosure. A machine-readable medium includes any mechanism for storinginformation in a form readable by a machine (e.g., a computer). Forexample, a machine-readable (e.g., computer-readable) medium includes amachine (e.g., a computer) readable storage medium such as a read onlymemory (“ROM”), random access memory (“RAM”), magnetic disk storagemedia, optical storage media, flash memory devices, etc.

In the foregoing specification, implementations of the disclosure havebeen described with reference to specific example implementationsthereof. It will be evident that various modifications may be madethereto without departing from the broader spirit and scope ofimplementations of the disclosure as set forth in the following claims.The specification and drawings are, accordingly, to be regarded in anillustrative sense rather than a restrictive sense.

What is claimed is:
 1. A method of enabling the location and tracking ofitems comprising: receiving an identification signal transmitted by atransponder, wherein the identification signal is associated with anitem; determining the identification signal transmitted by thetransponder is unregistered; extracting, by a processing device,properties of the item associated with the unregistered identificationsignal transmitted by the transponder, wherein the transponder ispreviously programmed with the properties of the item; and transmitting,to a database, the extracted properties of the item associated with theunregistered identification signal transmitted by the transponder. 2.The method of claim 1, further comprising: identifying one or more itemsin the database associated with a task; and generating a view listinglocations of the one or more items associated with the task.
 3. Themethod of claim 2, further comprising: generating a notification if auser exceeds a proximity threshold from the one or more items associatedwith the task.
 4. The method of claim 1, further comprising: receiving arequest to locate the item; determining the location of theidentification signal transmitted by the transponder associated with theitem; and generating a view listing the location of the identificationsignal transmitted by the transponder associated with the item.
 5. Themethod of claim 1, wherein the base station transmits and receivessignals associated with one or more smart labels.
 6. The method of claim1, wherein the associated list of properties is updated in response to auser input.
 7. The method of claim 1, further comprising: determining ausage pattern for the item in view of the tracking of the identificationsignal transmitted by the smart label; and generating, by a processingdevice, a notification that a replacement for the item is required inresponse to the usage pattern of the item.
 8. The method of claim 1,further comprising: generating, by a processing device, an online orderfor a replacement of the item in response to the usage pattern of theitem.
 9. The method of claim 1, further comprising: presenting, by aprocessing device, recommendations and advertisements in view of theusage pattern for the item.
 10. A method of enabling the location andtracking of items comprising: performing a query of items contained in acontainer; receiving identification signals transmitted by transponders,wherein the identification signals are associated with the items;determining the items contained in the container; and generating, by aprocessing device, an inventory of items contained in the container. 11.The method of claim 10, further comprising: receiving the inventory ofitems contained in the container; determining a category of theinventory of items contained in the container in view of properties ofthe inventory of items; and presenting the category of the inventory ofitems contained in the container.
 12. The method of claim 10, furthercomprising: generating a notification if an item not in the inventory ofitems is placed in the container.
 13. The method of claim 10, furthercomprising: presenting recommended items to be contained in thecontainer in view of the category of the inventory of items contained inthe container or an activity associated with the inventory of items. 14.The method of claim 10, further comprising: generating a notification ifan item in the inventory of items is removed from the container.
 15. Themethod of claim 10, wherein the category of the inventory of itemscontained in a container is determined in response to a user input. 16.A method comprising: receiving a request to create a multi-dimensionalmap of an area; sending a command to a device to determine thedimensions of the area; receiving transmitted dimensions of the areafrom the device; and generating, by a processing device, themulti-dimensional map of the area based on the transmitted dimensions ofthe area.
 17. The method of claim 16, wherein the device transmits aportion of the multi-dimensional map of the area.
 18. The method ofclaim 16, wherein the multi-dimensional map of the area is comprised oftwo dimensions.
 19. The method of claim 16, wherein themulti-dimensional map of the area is comprised of three dimensions. 20.The method of claim 16, wherein the multi-dimensional map of the area iscomprised of four dimensions.